package voxToolkit;

import java.awt.Dimension;

import javax.swing.JTextArea;

public class VoxTextArea extends JTextArea
{
	String rotulo;
	int altura, largura;

	/**
	 * Constrói um objeto com rótulo para ser lido pelo sintetizador. Não tem
	 * texto pré-definido.
	 * 
	 * @param rotulo
	 */
	public VoxTextArea( String rotulo )
	{
		super();
		this.rotulo = rotulo;
		montaLayout();

	}

	/**
	 * Constrói um objeto com rótulo para ser lido pelo sintetizador. Não tem
	 * texto pré-definido. Tamanho pré-definido de linhas e colunas.
	 * 
	 * @param linhas
	 * @param colunas
	 * @param rotulo
	 */
	public VoxTextArea( int linhas, int colunas, String rotulo )
	{
		super(linhas, colunas);
		this.rotulo = rotulo;
		montaLayout();

	}

	/**
	 * Constrói um objeto com rótulo para ser lido pelo sintetizador e um texto
	 * pré-definido.
	 * 
	 * @param texto
	 * @param rotulo
	 */
	public VoxTextArea( String texto, String rotulo )
	{
		super(texto);
		this.rotulo = rotulo;
		montaLayout();

	}

	/**
	 * Constrói um objeto com rótulo para ser lido pelo sintetizador e um texto
	 * pré-definido. Tamanho pré-definido de largura e altura.
	 * 
	 * @param texto
	 * @param rotulo
	 * @param largura
	 * @param altura
	 */
	public VoxTextArea( String texto, String rotulo, int largura, int altura )
	{
		super(texto);
		this.rotulo = rotulo;
		this.setPreferredSize(new Dimension(largura, altura));
		montaLayout();
	}

	private void montaLayout ()
	{

		this.setForeground(FabricaVoxToolkit.azulMedio);
		this.setBorder(FabricaVoxToolkit.bordaClara);
		this.setFont(FabricaVoxToolkit.fonteMedia);

		this.setLineWrap(true);
		this.setWrapStyleWord(true);

		this.addMouseListener(VoxTextAreaEvent.instancia());
		this.addFocusListener(VoxTextAreaEvent.instancia());
		this.addKeyListener(VoxTextAreaEvent.instancia());
	}

	public String getRotulo ()
	{
		return rotulo;
	}

}
